package com.woniuxy.ssm.handler;



import com.woniuxy.ssm.util.DateUtil;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;

import java.util.Date;

/**
 * @author linke
 * @version 1.0
 * @className: StringToDateHandler
 * @description: 自定义时间转换器
 * @date 2021/11/15 0:25
 */
@Component//交给spring容器管理
public class StringToDateConverter implements Converter<String, Date> {
    /**
     * 支持两种字符串格式的转换
     * @param s  2021-11-15  |  2021-11-15  0:25:22
     *
     * 解决方案：1、可以使用正则  2、判断字符串的长度
     *
     * @return
     */
    @Override
    public Date convert(String s) {

        Date date = null;
        try{
            if(StringUtils.hasLength(s)){
                //获得长度
                int lenth = s.length();
                if(lenth == 10){
                    date = DateUtil.str2Date(s,"yyyy-MM-dd");
                }else{
                    date = DateUtil.str2Date(s,"yyyy-MM-dd hh:mm:ss");
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        return date;
    }
}